package com.martian.service;

import com.martian.pojo.dto.AllMovieDto;
import com.martian.pojo.dto.MovieDetail;
import com.martian.pojo.dto.RecMovieDto;
import com.martian.pojo.dto.UserRatingHistory;
import com.martian.pojo.entity.Movie;
import com.martian.pojo.form.BatchDeleteMovieForm;
import com.martian.pojo.form.DeleteMovieForm;
import com.martian.pojo.form.LoadMovieForm;
import com.martian.pojo.form.MovieRatingForm;
import io.swagger.models.auth.In;

import java.util.List;

public interface MovieService {
    List<Movie> getAllMovie();
    AllMovieDto getAllMovieByPage(Integer page, Integer pageSize);

    AllMovieDto getMovieByNameOrGenre(Integer page,Integer pageSize, String info, Integer searchType);

    void insertMovie(LoadMovieForm loadMovieForm);

    void deleteMovie(Integer movieId);

    void batchDeleteMovies(List<Integer> deletedMovies);

    List<RecMovieDto> getHotMovies(Integer size);

    List<RecMovieDto> getSimilarMovie(Integer movieId, Integer size);

    MovieDetail getMovieById(Integer movieId);

    String collectMovie(Integer movieId);

    Integer icCollectMovie(Integer movieId);

    Integer ratingMovie(MovieRatingForm movieRatingForm);

    double selectMovieRating(Integer movieId);

}
